Computer graphics are enabling the creation of complex images, including the appearance of more and more complex 3D dimensionality. In 3D computer graphics, 3D modeling is the process of developing a mathematical representation on any three dimensional surface of an object (either inanimate or living) via a specialized software. The product is called a 3D model. It can be displayed on a computer screen as a two dimensional image through a process called 3D rendering or be used in computer simulation of physical phenomena. 3D rendering is the 3D computer graphics process of automatically converting 3D wire frame models with optional material into 2D images with 3D photorealistic or non photorealistic rendering on a computer. 3D models may be created automatically or manually. 3D modeling software, called modeling applications or modelers, is a class of 3D computer graphics software used to produce 3D models.
Rendering for interactive 3D, such as games and simulations, is calculated and displayed in real-time, at rates of approximately 20 to 120 frames per second. The ultimate goal of real-time rendering is to show as much information the eye can process in a fraction of a second. In one frame, in the case of 30 frames per second, animation of a frame generally encompasses one 30th of a second. Then there is a primary compromise of achieving an as high as possible degree of rendering quality at an acceptable minimum rendering speed, generally set to 24 frames per second as being the minimum a human eye needs to see to successfully create an illusion of movement.
As 3D is more and more integrated in web applications or mobile devices, smartphones or so, many users which are not experts in the three dimensionality need to easily share with others their 3D experiences in an interactive way.
However, the problem of surface simplification is an increased problem, and no simple solution exists today. There is a need for transparent methods to simplify any 3D model in an automatic way out of any user requirements of parametrization.
Moreover, there is also the need for generating, accessing, manipulating and sharing 3D models for non expert end users.
Then, improved systems, methods and computer program products are needed to handle real-time rendering of 3D models. The present invention offers a solution to this need.